package com.igoal.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.igoal.dto.UserDTO;
import com.igoal.entity.ComponentEnum;

public interface LikeService {

	@Transactional(readOnly = false)
	int likeComponent(String username, String component, Long componentId);

	@Transactional(readOnly = false)
	int unlikeComponent(String username, String component, Long componentId);

	@Transactional(readOnly = true)
	List<UserDTO> getRandomLikeUsers(Long userId, ComponentEnum component, Long componentId);

	@Transactional(readOnly = true)
	int likeCount(ComponentEnum component, Long componentId);

	@Transactional(readOnly = true)
	List<UserDTO> getUsersLikePerPage(ComponentEnum component, Long componenId,
			int pageNumber);	

}
